package com.sat.goods.service;

import com.sat.goods.pojo.Goods;
import com.sat.goods.pojo.GoodsVo;

public interface GoodsService {

    /**
     * 回滚库存
     * @param id
     * @param num
     * @return
     */
    Integer rollBackSkuStock(Long id, Integer num);

    /**
     * 减少库存
     * @param id
     * @param num
     * @return
     */
    Integer updateSkuNum(Long id,Integer num);

    /**
     * 通过skuid查找sku和spu，并返回两者的包装类GoodsVo
     * @param skuid
     * @return
     */
    GoodsVo findById(Long skuid);

    /**
     * 保存商品
     * @param goods
     */
    void saveGoods(Goods goods);

    /**
     * 商品spu下架
     * @param spuId
     */
    void pull(Long spuId);

    /**
     * 批量上架spu
     * @param ids 需要上架的商品ID集合
     * @return
     */
    int putMany(Long[] ids);

}
